home *** CD-ROM | disk | FTP | other *** search
/ One Stop CD-SHOP - The 50 Pack / One Stop CD-Shop - The 50 Pack (1995)(SoftKey)[compilation].iso / 50cd.mst < prev    next >
Text File  |  1995-12-18  |  7KB  |  253 lines

  1. '**************************************************************************
  2. '*            SoftKey One Stop CD-Shop, the 50 Pack Setup Script
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST DESTPATH      = 300
  14. CONST EXITFAILURE   = 400
  15. CONST EXITQUIT      = 600
  16. CONST EXITSUCCESS   = 700
  17. CONST OPTIONS       = 800
  18. CONST APPHELP       = 900
  19. CONST BADPATH       = 6400
  20.  
  21. ''Bitmap ID
  22. CONST LOGO = 1
  23.  
  24. GLOBAL DEST$        ''Default destination directory.
  25. GLOBAL CDROMDRV$    ''CD-ROM Drive Letter.
  26. GLOBAL OPTCUR$      ''Option selection from option dialog.
  27.  
  28. CONST WS_VISIBLE=&H10000000
  29. CONST WS_BORDER =&H00800000
  30. CONST WS_CLIPCHILDREN =&H02000000
  31. CONST GWL_STYLE =-16
  32. CONST SW_SHOWMAXIMIZED=3
  33.  
  34. CONST PGM_GROUP$="SoftKey"
  35. CONST PGM_TITLE$="One Stop CD-Shop 50 Pack"
  36. CONST PGM_EXE$="50CD.EXE"
  37. CONST PGM_INI$="50CD.INI"
  38. CONST PGM_ICON$="50CD.ICO"
  39.  
  40. DECLARE FUNCTION ShowWindow  LIB "user.exe" (hWnd%,iShow%) AS INTEGER
  41. DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%, offset%, style&) AS LONG     ''this declaration must all be on one line
  42. DECLARE SUB Install
  43. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  44.  
  45.  
  46. INIT:
  47.  
  48.     hWnd%=HwndFrame()
  49.     i1&=SetWindowLong(hWnd%,GWL_STYLE,WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN)
  50.     j1%=ShowWindow(hWnd%,SW_SHOWMAXIMIZED)
  51.  
  52.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  53.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  54.  
  55.     SetBitmap CUIDLL$, LOGO
  56.     SetTitle "CD Guide Setup"
  57.  
  58.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  59.     IF szInf$ = "" THEN
  60.         szInf$ = GetSymbolValue("STF_CWDDIR") + "50CD.INF"
  61.     END IF
  62.     ReadInfFile szInf$
  63.  
  64. '    OPTCUR$ = "1"
  65.     DEST$ = "C:\SOFTKEY\CDGUIDE"
  66.     CDROMDRV$ = MID$(GetSymbolValue("STF_SRCDIR"), 1, 1) + ":"
  67.  
  68. '$IFDEF DEBUG
  69.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  70.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  71.     IF IsDriveValid(WinDrive$) = 0 THEN
  72.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  73.         GOTO QUIT
  74.     END IF
  75. '$ENDIF ''DEBUG
  76.  
  77.  
  78. WELCOME:
  79.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  80.     IF sz$ = "CONTINUE" THEN
  81.         UIPop 1
  82.     ELSE
  83.         GOSUB ASKQUIT
  84.         GOTO WELCOME
  85.     END IF
  86.  
  87.  
  88.  
  89. 'OPTION:
  90. '    SetSymbolValue "RadioDefault", OPTCUR$
  91. 'OPTL1:
  92. '    sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
  93. '    OPTCUR$ = GetSymbolValue("ButtonChecked")
  94. '
  95. '    IF sz$ = "CONTINUE" THEN
  96. '        UIPop(1)
  97. '    ELSEIF sz$ = "REACTIVATE" THEN
  98. '        GOTO OPTL1
  99. '    ELSE
  100. '        GOSUB ASKQUIT
  101. '        GOTO OPTION
  102. '    END IF
  103.  
  104.  
  105.  
  106. GETPATH:
  107.     SetSymbolValue "EditTextIn", DEST$
  108.     SetSymbolValue "EditFocus", "END"
  109. GETPATHL1:
  110.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  111.     DEST$ = GetSymbolValue("EditTextOut")
  112.  
  113.     IF sz$ = "CONTINUE" THEN
  114.         IF IsDirWritable(DEST$) = 0 THEN
  115.             GOSUB BADPATH
  116.             GOTO GETPATHL1
  117.         END IF
  118.         UIPop 1
  119.     ELSEIF sz$ = "REACTIVATE" THEN
  120.         GOTO GETPATHL1
  121.     ELSEIF sz$ = "BACK" THEN
  122.         UIPop 1
  123.         GOTO WELCOME
  124.     ELSE
  125.         GOSUB ASKQUIT
  126.         GOTO GETPATH
  127.     END IF
  128.  
  129.  
  130.     Install
  131.  
  132.  
  133.  
  134. QUIT:
  135.     ON ERROR GOTO ERRQUIT
  136.  
  137.     IF ERR = 0 THEN
  138.         dlg% = EXITSUCCESS
  139.     ELSEIF ERR = STFQUIT THEN
  140.         dlg% = EXITQUIT
  141.     ELSE
  142.         dlg% = EXITFAILURE
  143.     END IF
  144. QUITL1:
  145.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  146.     IF sz$ = "REACTIVATE" THEN
  147.         GOTO QUITL1
  148.     END IF
  149.     UIPop 1
  150.  
  151.     END
  152.  
  153. ERRQUIT:
  154.     i% = DoMsgBox("Setup sources were corrupted, call please call SoftKey Technical Support for assistance.", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  155.     END
  156.  
  157.  
  158.  
  159. BADPATH:
  160.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  161.     IF sz$ = "REACTIVATE" THEN
  162.         GOTO BADPATH
  163.     END IF
  164.     UIPop 1
  165.     RETURN
  166.  
  167.  
  168.  
  169. ASKQUIT:
  170.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  171.  
  172.     IF sz$ = "EXIT" THEN
  173.         UIPopAll
  174.         ERROR STFQUIT
  175.     ELSEIF sz$ = "REACTIVATE" THEN
  176.         GOTO ASKQUIT
  177.     ELSE
  178.         UIPop 1
  179.     END IF
  180.     RETURN
  181.  
  182.  
  183.  
  184. '**
  185. '** Purpose:
  186. '**     Builds the copy list and performs all installation operations.
  187. '** Arguments:
  188. '**     none.
  189. '** Returns:
  190. '**     none.
  191. '*************************************************************************
  192. SUB Install STATIC
  193.  
  194.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  195.     CreateDir DEST$, cmoNone
  196.  
  197.     OpenLogFile MakePath(DEST$, "50CD.ILG"), 0
  198.     WriteToLogFile ""
  199.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  200. '    WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  201.     WriteToLogFile ""
  202.     WriteToLogFile "May have had to create the directory: " + DEST$
  203.     WriteToLogFile ""
  204.  
  205. '    AddSectionKeyFileToCopyList "Main", OPTCUR$, SrcDir$, DEST$
  206. '    AddSectionKeyFileToCopyList "Dynalinks", OPTCUR$, SrcDir$, GetWindowsDir + "SYSTEM\"
  207.     AddSectionKeyFileToCopyList "Main", "1", SrcDir$, DEST$
  208.     AddSectionKeyFileToCopyList "Dynalinks", "1", SrcDir$, GetWindowsDir + "SYSTEM\"
  209.     CopyFilesInCopyList
  210.  
  211.     ' Create INI File, store CD-ROM Drive letter in it
  212.     ini$ = MakePath(GetWindowsDir, "CDGUIDE.INI")
  213.     CreateIniKeyValue ini$, "Settings", "CDROMDrive", CDROMDRV$, cmoOverwrite
  214.     CreateIniKeyValue ini$, "Options", "SystemDB", MakePath(DEST$,"system.mda"), cmoOverwrite
  215.     CreateIniKeyValue ini$, "Settings", "RunFromCD", "1", cmoOverwrite
  216.     ini$ = MakePath(GetWindowsDir, PGM_INI$)
  217.     CreateIniKeyValue ini$, "Settings", "CDROMDrive", CDROMDRV$, cmoOverwrite
  218.     CreateIniKeyValue ini$, "Options", "SystemDB", MakePath(DEST$,"system.mda"), cmoOverwrite
  219.     CreateIniKeyValue ini$, "Settings", "RunFromCD", "1", cmoOverwrite
  220.  
  221.     CreateProgmanGroup PGM_GROUP$, "", cmoNone
  222.     ShowProgmanGroup  PGM_GROUP$, 1, cmoNone
  223.     CreateProgmanItem PGM_GROUP$, PGM_TITLE$, PGM_EXE$, MakePath(DEST$,PGM_ICON$)+",0,0,0,"+GetSymbolValue("STF_SRCDIR"), cmoOverwrite
  224.  
  225.     CloseLogFile
  226.  
  227. END SUB
  228.  
  229.  
  230.  
  231. '**
  232. '** Purpose:
  233. '**     Appends a file name to the end of a directory path,
  234. '**     inserting a backslash character as needed.
  235. '** Arguments:
  236. '**     szDir$  - full directory path (with optional ending "\")
  237. '**     szFile$ - filename to append to directory
  238. '** Returns:
  239. '**     Resulting fully qualified path name.
  240. '*************************************************************************
  241. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  242.     IF szDir$ = "" THEN
  243.         MakePath = szFile$
  244.     ELSEIF szFile$ = "" THEN
  245.         MakePath = szDir$
  246.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  247.         MakePath = szDir$ + szFile$
  248.     ELSE
  249.         MakePath = szDir$ + "\" + szFile$
  250.     END IF
  251. END FUNCTION
  252.  
  253.